package com.fowo.api.syncLingxingApi.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fowo.api.sys.entity.SysFile;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@DS("ds24")
@Data
@TableName(value = "tmp_sync_lingxing_to_spu_info", autoResultMap = true)
public class TmpSyncLingxingToSpuInfo extends TmpSyncLingxingToSpuBase implements Serializable {

    private static final long serialVersionUID = 1L;

    public TmpSyncLingxingToSpuInfo() {
        super();
    }

    @Schema(title = "款名（添加时必填）")
    @TableField(value = "spu_name")
    @JSONField(name = "spu_name")
    private String spuName;

    @Schema(title = "型号")
    @TableField(value = "model")
    @JSONField(name = "model")
    private String model;

    @Schema(title = "单位")
    @TableField(value = "unit")
    @JSONField(name = "unit")
    private String unit;

    @Schema(title = "状态：0 停售，1 在售，2 开发中，3 清仓")
    @TableField(value = "status")
    @JSONField(name = "status")
    private Integer status;

    @Schema(title = "状态文本：0 停售，1 在售，2 开发中，3 清仓")
    @TableField(value = "status_text")
    @JSONField(name = "status_text")
    private String statusText;

    @Schema(title = "分类ID")
    @TableField(value = "cid")
    @JSONField(name = "cid")
    private Long cid;

    @Schema(title = "分类名")
    @TableField(value = "category_name")
    @JSONField(name = "category_name")
    private String categoryName;

    @Schema(title = "品牌ID")
    @TableField(value = "bid")
    @JSONField(name = "bid")
    private Long bid;

    @Schema(title = "品牌名")
    @TableField(value = "brand_name")
    @JSONField(name = "brand_name")
    private String brandName;


    @Schema(title = "开发人ID")
    @TableField(value = "developer_uid")
    @JSONField(name = "developer_uid")
    private Integer developerUid;

    @Schema(title = "开发人")
    @TableField(value = "developer")
    @JSONField(name = "developer")
    private String developer;

    @Schema(title = "产品负责人ID")
    @TableField(value = "product_duty_users")
    @JSONField(name = "product_duty_users")
    private String productDutyUsers;

    @Schema(title = "产品负责人ID")
    @TableField(value = "product_duty_users_mirror")
    private String productDutyUsersMirror;

    @Schema(title = "产品描述")
    @TableField(value = "description")
    @JSONField(name = "description")
    private String description;

    @Schema(title = "附件信息")
    @TableField(value = "attachmentFiles")
    @JSONField(name = "attachmentFiles")
    private String attachmentFiles;

    @TableField(value = "attachmentFiles_mirror", typeHandler = JacksonTypeHandler.class)
    @Schema(title = "附件")
    private List<SysFile> attachmentFilesMirror;

    @Schema(title = "采购信息")
    @TableField(value = "purchase_info")
    @JSONField(name = "purchase_info")
    private String purchaseInfo;

    @Schema(title = "关联辅料")
    @TableField(value = "aux_relation_list")
    @JSONField(name = "aux_relation_list")
    private String auxRelationList;

    @Schema(title = "关联辅料")
    @TableField(exist = false)
    private List<TmpSyncLingxingToSpuInfoAuxRelationList> auxRelationListMirror;


    @Schema(title = "物流报关清关")
    @TableField(value = "logistics")
    @JSONField(name = "logistics")
    private String logistics;

    @Schema(title = "产品列表")
    @TableField(value = "sku_list")
    @JSONField(name = "sku_list")
    private String skuList;

    @Schema(title = "产品列表")
    @TableField(exist = false)
    private List<TmpSyncLingxingToSpuInfoSkuList> skuListMirror;


    @Schema(title = "属性列表")
    @TableField(value = "sku_list_attribute_mirror")
    private String skuListAttributeMirror;
}



